<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>

</html>
<script>
    // 创建xhr核心对象
    // let xhr = new XMLHttpRequest();

    // 请求方式：GET POST DELETE PUT
    // 请求地址 URL
    // true异步/false同步
    // user 
    // password
    // xhr.open('GET', './data/ajax.txt', false);
    // xhr.send()

    //   请求状态改变就会触发
    // xhr.onreadystatechange = function () {//监听
    // console.log('onreadystatechange', xhr);
    // }
    // 为什么JSON.string(xhr)打印出来是一个空对象
    // console.log(JSON.string(xhr));


    // const url = './data/getData.txt'
    // trueUrl = './data/getData.txt?name=haha&age=11'
    // console.log(url+`?${Object.keys(data)[0]}=${data.name}&${Object.keys(data)[1]}=${data.age}`);

//      function param(data) {
//             let url = ''///空字符串
//             for (var k in data) {//拿下标
//                 //三元判断 如果对象中的健对应的值 未定义就返回一个空字符串 
//                 //定义了就返回当前对应的值
//                 let value = data[k] !== undefined ? data[k] : ''
//                 // encodeURIComponent()方法则会使用对应的编码替换所有非字母数字字符
//                     url += '&' + k + '=' + encodeURIComponent(value)
//             }
//             //去除第一个&
//             return url ? url.substring(1) : ''
//         }

//         function url(url,data){
//             // 如果url字符中能找不到"?"，就返回? ，反之加&
//             url += (url.indexOf('?') < 0 ? '?' : '&') + param(data)
//             return url;
//         }

//         console.log(url("https://www.baidu.com",{a:1,b:2,c:3}))




    // encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的区别
    // 区别：
    // encodeURI 和 decodeURI 函数操作的是完整的 URI；这俩函数假定 URI 中的任何保留字符都有特殊意义，所有不会编码它们。
    // encodeURIComponent 和 decodeURIComponent：
    // 函数操作的是组成 URI 的个别组件；这俩函数将任何保留字符都代表普通文本，所以必须编码它们，


    // encodeURIComponent()  函数可把字符串作为 URI 进行编码
    // decodeURIComponent()  对编码后的 URI 进行解码
    var uriOne = "http://w3cschool.cc/my test.php?name=stale&car=saab";
    document.write(encodeURIComponent(uriOne) + "<br>");//http%3A%2F%2Fw3cschool.cc%2Fmy%20test.php%3Fname%3Dst%C3%A5le%26car%3Dsaab
    document.write(decodeURIComponent(uriOne) + "<br>");//http://w3cschool.cc/my test.php?name=ståle&car=saab

    // encodeURI()函数可把字符串作为 URI 进行编码
    // decodeURI()对编码后的 URI 进行解码
    var uriTow = "my test.php?name=stale&car=saab";
    document.write(encodeURI(uriTow) + "<br>");// my%20test.php?name=st%C3%A5le&car=saab
    document.write(decodeURI(uriTow));//my test.php?name=ståle&car=saab


</script>